Read this JavaScript tutorial and learn the right way of passing a parameter to a setTimeout() callback. Also, get information about function binding.
Read this JavaScript tutorial and learn about the main differences between the function prototype methods: bind(), call() and apply() and their usages.